#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e3+5;

ll s[N][N]={0};
ll a[N][N]={0};

int main(){
  int n,m,q;
  cin>>n>>m>>q;
  for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
      cin>>s[i][j];
      a[i][j]=s[i][j]-s[i-1][j]-s[i][j-1]+s[i-1][j-1];
    }
  }
  while(q--){
    int x1,y1,x2,y2,c;
    cin>>x1>>y1>>x2>>y2>>c;
    a[x1][y1]+=c;
    a[x2+1][y2+1]+=c;
    a[x1][y2+1]-=c;
    a[x2+1][y1]-=c;
  }
  for(int i=1;i<=n;i++) {
    for(int j=1;j<=m;j++) {
      s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
    }
  }
  for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
      if(j==1)
        cout<<s[i][j];
      else
        cout<<" "<<s[i][j];
    }
    cout<<endl;
  }

  return 0;
}

//题目：矩阵所有元素均加c
//
//描述：
//输入一个n行m列的矩阵ｓ。接下来再输入q个操作要求，每个操作要求输入五个整数x1，y1，x2，y2，c，其含义是将矩阵中以（x1，y1）为左上角，以（x2，y2）
// 为右下角的区域内所有元素加c。即：
//     s[i][j]=ｓ[i][j]＋ｃ，x1≤ｉ≤x2，y1≤j≤y2
//最后，要求输出矩阵的值。
//输入格式
//第1行，n, m, q          0≤n,m≤100000
//接下来n行，每行m个数，表示矩阵元素
//接下来q行，每行5个数x1, y2, x2, y2，c，表示一个操作
//输出格式
//n行，每行m个数，表示最终的矩阵元素。
//输入样例
// 4 4 3
// 1 2 11 12
// 3 4 13 14
// 5 6 15 16
// 7 8 17 18
// 1 1 2 2 1
// 2 2 3 3 2
// 3 3 4 4 3
//输出样例
//2 3 11 12
//4 7 15 14
//5 8 20 19
//7 8 20 21